/**
 * @addtogroup lmu
 * scc_lmu_error
 * @{
 */
/**
 * @file         scc_lmu_error.h
 * @brief        定位模块升级错误码定义
 * @note
 * @author       dengdeshou
 * @date         2020-04-23
 * @version      1.0
 *
 * @par          修改日志
 * <table>
 * <tr><th>Date        <th>Version               <th>Author          <th>Description
 * <tr><td>2020-04-23   <td>1.0                   <td>Dengdeshou      <td>创建初始版本
 * @copyright    杭州鸿泉物联网技术股份有限公司
 */

#ifndef _SCC_LMU_ERROR_H_
#define _SCC_LMU_ERROR_H_

#ifdef __cplusplus
extern "C" {
#endif
    
/**
 * 升级错误码定义
 */
enum TSccLmuErrorCodeEnumTag
{
    kSccLmuErrorOk = 0, ///< 成功
    kSccLmuErrorComOpenFail = -1, ///< 串口打开失败,串口被占用或不存在
    kSccLmuErrorFilePath = -2, ///< 文件路径错误
    kSccLmuErrorFormat = -3, ///< 文件格式错误
    kSccLmuErrorBadData = -4, ///< 数据错误
    kSccLmuErrorBaudrate = -5, ///< 升级模块波特率不支持
    kSccLmuErrorFileType = -6, ///< 文件类型错误
    kSccLmuErrorFileLenth = -7, ///< 文件长度超出，必须小于208KB
    kSccLmuErrorFileVer = -8, ///< 程序代号或版本号错误
    kSccLmuErrorBaseBand = -9, ///< 固件基带ID不匹配
    kSccLmuErrorSelf = -10, ///< 自举代码ID不匹配
    kSccLmuErrorNavi = -11, ///< 导航代码ID不匹配
    kSccLmuErrorCodeData = -12, ///< 接收到的固件数据错误
    kSccLmuErrorCodeBurning = -13, ///< 固件代码烧写错误
    kSccLmuErrorCodeVerify = -14, ///< 固件代码验证错误
    kSccLmuErrorPacketSmall = -15, ///< 数据包长度过小,小于 3 字节
    kSccLmuErrorPacketLarge = -16, ///< 数据包长度过大，大于 4105 字节
    kSccLmuErrorCrc = -17, ///< 数据包校验和错误
    kSccLmuErrorPacketTag = -18, ///< 没有接收到包尾
    kSccLmuErrorPacketFiveTimes = -19, ///< 连续出现 5 次以上错误数据包，结束升级流程 
    kSccLmuErrorInterval = -20, ///< 数据包内部字符间隔时间超过 10ms 的情况大于 20 次
    kSccLmuErrorPacketNo = -21, ///< 帧序号错误
    kSccLmuErrorFileOpen = -22, ///< 文件打开错误
    kSccLmuErrorTimeOut = -23, ///< 模块应答超时
    kSccLmuErrorNullObject = -24, ///< 空对象
    kSccLmuErrorModuleMatch = -25, ///< 模块匹配错误
    kSccLmuErrorByStop = -26, ///< 调用方主动停止升级
    kSccLmuErrorUpgradeTimeout = -27, ///< 升级时间超时
    kSccLmuErrorUnknown = -99, ///< 未知错误
};
typedef enum TSccLmuErrorCodeEnumTag TSccLmuErrorCodeEnum;
    
#ifdef __cplusplus
}
#endif
#endif

/**
 * @}
 */

